package com.bdqn.spark.chapter05

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

object Spark02_RDD_File {
  def main(args: Array[String]): Unit = {
    // 获取Spark程序的运行环境
    val conf: SparkConf = new SparkConf()
      .setMaster("local[*]")
      .setAppName("RDD-File")
    val sc: SparkContext = new SparkContext(conf)

    // 第一种情况：从本地文件系统读取数据
    // path的路径，可以是相对路径，也可以是绝对路径
    // 绝对路径的写法
//    val fileSourceRDD: RDD[String] = sc.textFile("D:\\hdfs\\cc.txt")
    // 相对路径的写法
    // val fileSourceRDD: RDD[String] = sc.textFile("input/1.txt")

    // 路径可以是文件夹
//    val fileSourceRDD: RDD[String] = sc.textFile("input/")

    // 文件路径可以使用通配符*
    // val fileSourceRDD: RDD[String] = sc.textFile("input/1*.txt")

    // 读取分布式文件系统
    val fileSourceRDD: RDD[String] = sc.textFile("hdfs://hadoop182:8020/a.txt")

    // 把读取到的数据打印到控制台
    fileSourceRDD.collect.foreach(println)

    sc.stop()
  }
}
